Engine commissioning

ABSTRACT

A method of commissioning an internal combustion engine controlled by an electronic engine control unit (ECU) is described. The method of commissioning includes an engine mapping function in which the engine is mapped at a combination of speeds and loads to build up a full set of engine operating parameters which are known collectively as the engine control set (ECS). The method includes defining a speed/load mapping table and generating a graphical display of a corresponding speed/load grid ( 20 ) having a plurality of cells arranged in a grid, each cell corresponding to a particular speed/load combination in the speed/load mapping table. The engine is driven as close as possible to a selected speed/load combination ( 24 ) and the value of a selected engine operating parameter is adjusted to obtain an optimum value at the selected speed/load combination. Each unmapped cell in the grid is displayed in a first visually distinct manner and each mapped cell is displayed in a second visually distinct manner. One cell ( 22 ) in the speed-load grid is displayed in a third visually distinct manner to indicate the engine&#39;s current operating position. The method of commissioning may optionally provide for automatic balancing of exhaust temperatures for each cylinder of the engine.

FIELD OF THE INVENTION

The present invention relates to a method of commissioning an internalcombustion engine controlled by an electronic engine control unit andrelates particularly, but not exclusively, to an engine mapping functionincorporated in the method of commissioning.

BACKGROUND TO THE INVENTION

Co-pending application Ser. No. 09/269,791 filed Apr. 1, 1999 describesan improved engine control unit (ECU) for controlling the operation of agas fuelled internal combustion engine. The disclosure of Ser. No.09/269,791 is incorporated herein by reference.

The ECU uses various engine operating parameters stored in non-volatilememory to control the operation of the engine. These parameters may beprogrammed through a serial port by an external device. The engineoperating parameters are collectively known as the engine control set(ECS). The ECS includes numerous parameters defined and stored in tableform, including the Engine Speed Table, Startup Spark Advance AngleTable, Startup Injector On Time Table, Water Jacket Temperature ThrottleLimit Table, Manifold Air Temperature Throttle Limit Table, ExhaustTemperature Throttle Limit Table, Individual Injector Switch On TimeTable, Individual Injector Flow Rate Table and the MVP Area Table, mostof which are self-explanatory. These parameters are stored in the ECUmemory during commissioning of the ECU following engine mapping.

As part of the process of commissioning an engine, it is mapped at acombination of speeds and loads to build up the full ECS that gives theengine its required performance. This covers steady state torque output,maximum speed governing and emissions, whilst observing the originalequipment manufacturer's (OEM's) limits on thermal loads and maximumcylinder pressure. During this process the ECU automatically compensatesfor gas pressure and temperature variations that inevitably occur suchthat the injector on-time (IOT) to be recorded is referenced to standardgas pressure and temperature. Similarly, ignition timing is modifiedaccording to the manifold air temperature such that the recorded valuesare augmented if the air temperature is higher than the set referencetemperature of 25° C. and conversely if the air temperature is lowerthan the reference. When mapping is finished all engine operatingparameters are downloaded into the ECU.

SUMMARY OF THE INVENTION

The present invention was developed with a view to providing a method ofcommissioning an ECU and performing various executive functions such asengine mapping.

According to the present invention there is provided a method ofcommissioning an internal combustion engine controlled by an electronicengine control unit, the method comprising:

mapping a selected engine operating parameter over a range of enginespeeds and loads so as to obtain optimum values for said selected engineoperating parameter for different speeds/load combinations, said mappingprocess involving the steps of:

(a) defining a speed/load mapping table and generating a graphicaldisplay of a corresponding speed/load grid comprising a plurality ofcells arranged in a grid, each cell corresponding to a particularspeed/load combination in the speed/load mapping table, each unmappedcell in the grid being displayed in a first visually distinct manner andeach mapped cell being displayed in a second visually distinct manner;

(b) selecting an unmapped cell in said speed/load grid for mapping;

(c) driving the engine as close as possible to the selected speed/loadcombination;

(d) displaying the current value of said selected engine operatingparameter;

(e) adjusting the value of said selected engine operating parameter tothereby obtain an optimum value for said engine operating parameter atsaid selected speed/load combination;

(f) saving the optimum value at said selected speed/load combination inthe speed/load mapping table; and,

(g) repeating steps (b) to (f) until the selected engine operatingparameter has been mapped for all desired cells in the speed/load grid.

Preferably one cell in the speed/load grid is displayed in a thirdvisually distinct manner to indicate the engine's current operatingposition. Preferably said step of selecting an unmapped cell for mapping(step (b)) includes displaying said selected unmapped cell in a fourthvisually distinct manner.

Advantageously said selected engine operating parameter is one of aplurality of selected engine operating parameters which may be mappedsimultaneously using the speed/load grid. In a preferred embodiment saidplurality of selected engine operating parameters are manifold valveposition (MVP), injector on time (IOT) and spark advance angle (SAA).Step (c) in the method may be performed by controlling the enginethrottle and/or by manipulating the values for MVP, IOT and/or SAA,and/or setting the dynamometer speed.

Advantageously the graphical display of said speed/load grid isdisplayed as part of an engine mapping dialog box, said engine mappingdialog box including a read-only display of the current value of saidselected engine operating parameter, a scroll bar for changing an offsetvalue of said selected engine operating parameter and a read-onlydisplay of the resulting value of said engine operating parameter whichis the sum of the current value and the offset value, wherein step (e),adjusting the value of said selected operating parameter, involvesscrolling to an appropriate offset value using said scroll bar to obtainthe optimum resulting value for said selected engine operatingparameter.

Preferably said engine mapping dialog box also includes a plurality ofIOT offset spin boxes, one for each of the engine's injectors, andwherein the method of commissioning further comprises applying anindividual IOT offset to a base IOT offset for any one or more of theinjectors.

Advantageously the method of commissioning may optionally provide forautomatic balancing of exhaust temperatures for each cylinder of theengine, wherein said step of automatically balancing involves:

logging exhaust temperatures for each cylinder of the engine;

averaging the exhaust temperature values across all cylinders to obtainan average exhaust temperature value;

calculating a deviation of the exhaust temperature value for eachcylinder from said average exhaust temperature value; and,

adjusting the individual IOT offsets for each injector simultaneouslybased on said respective deviations whereby, in use, the exhausttemperatures for each cylinder can be brought closer to the averageexhaust temperature value.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to facilitate a more comprehensive understanding of the natureof the invention, a preferred embodiment of the method of commissioningan internal combustion engine will now be described in detail, by way ofexample only, with reference to the accompanying drawings in which:

FIG. 1 is a block diagram illustrating the inter-relationship between anECU, a preferred embodiment of the engine commissioning software and anengine;

FIG. 2 illustrates an example of an engine operating parameter 3-D Tableemployed by the engine commissioning software;

FIG. 3 illustrates an Engine Mapping dialog box employed by the enginecommissioning software;

FIG. 4 illustrates another example of an engine operating parameter 3-DTable employed by the engine commissioning software; and,

FIG. 5 illustrates a logging window in which logged parameters aredisplayed by the engine commissioning software.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENT

A preferred embodiment of the method of commissioning is implementedusing a computer software program called CommExecPro, developed forcommissioning the ECU described in PCT/AU97/00658 and for performingvarious executive functions. CommExecPro is a Microsoft Windowsapplication which allows the user to control and monitor a six cylinderengine via the ECU. The CommExecPro software is used to program the ECSduring commissioning, and may also read the ECS that the ECU iscurrently using. CommExecPro may also request operational logging formonitoring of engine performance. The CommExecPro software communicateswith the ECU via a three wire RS-232 serial interface. A proprietarycommunications protocol has been defined to allow the CommExecPro andECU to communicate via the RS-232 communications interface. FIG. 1illustrates in block diagram form an overview of the interrelationshipbetween CommExecPro 10, the ECU 12 and the engine 14.

The software in ECU 12 supports six types of 3-D tables, namely, a BaseInjector On Time (IOT) 3-D table, an Injector On Time (IOT) Offset 3-Dtable, a Manifold Valve Position (MVP) 3-D table, a Spark Advance Angle(SAA) 3-D table, a Desired Torque 3-D table and a Desired Air Density(DAD) 3-D table. CommExecPro likewise defines these six types of 3-Dtables which allow a user to enter optimum values for the various enginespeed/engine load combinations.

FIG. 2 illustrates a dialog box generated and displayed by CommExecPro,which allows the user to set values in the Base IOT 3-D Table. Thesebase IOT values are then saved by CommExecPro for downloading to the ECUfollowing the process of engine mapping. The Base IOT values are set inps for the various engine speed/engine load combinations. The validrange of values is 0 μs to 30,000 μs, with a resolution of 1 μs. If theuser presses the F4 key, all selected cells will be incremented by 10μs. If the user presses the F5 key, all selected cells will bedecremented by 10 μs.

CommExecPro generates a similar dialog box for each of the other fivetypes of 3-D tables employed by the ECU. For example, FIG. 4 illustratesthe dialog box for the IOT Offset 3-D tables which allows the user toset values in the IOT Offset 3-D tables. The spin box control 16 (editbox and scroll bar) allows the user to display the IOT Offset 3-D tablefor the injector shown in the edit box. For a six cylinder engine therewill be six IOT Offset 3-D tables, one for each injector. The validrange of values which may be entered for the lOT Offsets depends on thecorresponding Base IOT for the specified injector. Each of the 3-Dtables created in CommExecPro can be downloaded to the ECU via aproprietary communications protocol.

The process of engine mapping using CommExecPro will now be describedwith reference to FIG. 3. Engine mapping is the process of optimising anengine and programming certain engine operating parameters for the ECU.These operating parameters are stored in the form of 3-D tables. Theprogramming of these parameters is done via the Settings Engine Mappingcommand. This command causes an engine mapping dialog box to bedisplayed, which controls the communication of these key engineoperating parameters to the ECU which, in turn, controls the engineaccordingly.

As can be clearly seen in FIG. 3, the engine mapping dialog boxincorporates a Speed vs Load status grid 20 which comprises a pluralityof cells arranged in a grid, each cell corresponding to a particularspeed/load combination in one of the speed/load mapping 3-D tables. Eachunmapped cell in the grid 20 is displayed in a first visually distinctmanner, for example, a first colour (white), and each mapped cell isdisplayed in a second visually distinct manner, for example a secondcolour (green). One cell 22 in the speed vs load status grid 20 isdisplayed in a third visually distinct manner, for example in the colourred, to indicate the speed/load combination nearest to the engine'scurrent operating position. When selecting an unmapped cell for mapping,the selected unmapped cell is preferably displayed in a fourth visuallydistinct manner, in this case as a thick outline cell 24.

The engine mapping dialog box contains a number of controls which aredescribed below.

OK button 26

This button allows the user to dismiss the dialog box. This is thedefault button for this dialog box.

Help button 28

This button allows the user to display context sensitive help for thisdialog box.

Lock button 30

This button allows the user to lock the position currently displayed inthe Speed vs Load status grid 20. MVP, SAA and IOT may then bemanipulated independent of each other, i.e. manipulation of MVP does notcause a change in SAA or IOT. When this button is pressed, the Lockbutton is hidden and the Unlock button is displayed in its place.

Unlock button 30

This button allows the user to unlock the position currently displayedin the Speed vs Load status grid 20. MVP, SAA and IOT are dependent oneach other, i.e. manipulation of one may cause a change in the others.When this button is pressed, the Unlock button is hidden and the Lockbutton is displayed in its place.

Set button 34

This button allows the user to save the values in the three Result editboxes to the currently selected cell 24 (thick outline) in thecorresponding 3-D table.

Clear button 36

This button allows the user to clear all mapped grid squares (green) tounmapped squares (white).

Speed vs Load status grid 20

This grid control illustrates the current status of the engine mappingprocess. Each cell in the grid corresponds to a specific enginespeed/load combination for which the engine is to be optimised bymodifying the IOT, MVP and SAA parameters. A white coloured cell isempty, i.e. the engine has not been optimised for the correspondingengine speed/load combination. A green coloured cell implies that theengine parameters have been set for the corresponding engine speed/loadcombination. The red coloured cell, of which there is always exactlyone, indicates the engine's current operating position. The thickoutlined cell is the cell that is currently selected for optimisation.When the user presses the Set button 34 the outlined cell indicates thecell position in the 3-D tables that the Result values will be saved to.

Actual engine speed edit box 38

This edit box shows the actual engine speed. This is a read-only editbox.

Actual engine load edit box 40

This edit box shows the actual engine load. This is a read-only editbox.

Actual Air Density edit box 42

This edit box shows the actual air density. This is a read-only editbox.

Locked engine speed edit box 44

This edit box shows the current locked engine speed. This is a read-onlyedit box and corresponds to the red cell 22 in the Speed vs Load statusgrid 20.

Locked engine load edit box 46

This edit box shows the current locked engine load. This is a read-onlyedit box and corresponds to the red cell 22 in the Speed vs Load statusgrid 20.

Current Manifold Valve Position edit box 48

This edit box shows the base manifold valve position currently beingused by the ECU. This is a read-only edit box. This value may beinterpolated.

Manifold Valve Position offset scrollbar 50

This scrollbar indicates graphically the manifold valve position offset.The range of values for the scrollbar is from −mvs to +mvs. Where mvs isthe number of manifold valve steps. The position of the scrollbar isreflected numerically by the Manifold Valve Position offset edit box.The scrollbar can be controlled by the usual mouse interface or via thekeyboard. For fine control the <Insert> key is used to increase themanifold valve position offset and the <Delete> key is used to decreaseit. For coarse control the <Ctrl> key is pressed together with the<Insert> or <Delete> key to provide large increments or decrements inthe manifold valve position.

Manifold Valve Position offset edit box 52

This edit box reflects the position of the Manifold Valve Positionoffset scrollbar. This edit box is read-only.

Result Manifold Valve Position edit box 54

This edit box shows the resulting manifold valve position which is thecurrent manifold valve position plus the offset. This is a read-onlyedit box.

Current Injector On Time edit box 56

This edit box shows the uncompensated base injector on time currentlybeing used by the ECU. This is a read-only edit box. This value may beinterpolated.

Injector On Time offset scrollbar 58

This scrollbar indicates graphically the injector on time offset. Therange of values for the scrollbar is from −30 ms to +30 ms. The positionof the scrollbar is reflected numerically by the Injector On Time offsetedit box. The scrollbar can be controlled by the usual mouse interfaceor via the keyboard. For fine control the <Home> key is used to increasethe current injector on time and the <End> key is used to decrease it.For coarse control the <Ctrl> key is pressed together with the <Home> or<End> key to provide large increments or decrements in the currentinjector on time.

Injector On Time offset edit box 60

This edit box reflects the position of the Injector On Time offsetscrollbar. This edit box is read-only.

Result Injector On Time edit box 62

This edit box shows the resulting injector on time which is the currentinjector on time plus the offset. This is a read-only edit box.

Current Spark Advance Angle edit box 64

This edit box shows the uncompensated base spark advance angle currentlybeing used by the ECU. This is a read-only edit box. This value may beinterpolated.

Spark Advance Angle offset scrollbar 66

This scrollbar indicates graphically the spark advance angle offset. Therange of values for the scrollbar is from −90° to +90°. The position ofthe scrollbar is reflected numerically by the Spark Advance Angle offsetedit box. The scrollbar can be controlled by the usual mouse interfaceor via the keyboard. For fine control the <Page Up> key is used toincrease the spark advance angle and the <Page Down> key is used todecrease it. For coarse control the <Ctrl> key is pressed together withthe <Page Up> or <Page Down> key to provide large increments ordecrements in the spark advance angle.

Spark Advance Angle offset edit box 68

This edit box reflects the position of the Spark Advance Angle offsetscrollbar. This edit box is read-only.

Result Spark Advance Angle edit box 70

This edit box shows the resulting spark advance angle which is thecurrent spark advance angle plus the offset. This is a read-only editbox.

Balance button 72

This button allows the user to easily balance or even-out cylinderexhaust temperatures. This is achieved by logging the exhausttemperatures for each cylinder. If these parameters are not logged theBalance button will have no effect.

IOT Offset spin boxes 74

There is one of these spin boxes for each of the engine's injectors.Each one allows the user to apply an offset to the Result Base InjectorOn Time, but only for its corresponding injector.

When the engine mapping dialog box is first displayed, the engine is inan unlocked state, and having gone through startup will come to somestable point of operation. The red coloured cell 22 in the speed versusload status grid 20 will illustrate roughly at which speed/load pointthe engine has settled. The actual speed and load edit boxes 38, 40 willprovide a more exact view of this. It is important to note that the ECU12 must be in control of an engine 14 for engine mapping to be possible.This implies that the ECS on the ECU must be consistent with those onCommExecPro and that the ECS on the ECU are valid. If these conditionsare not met, engine mapping will not be allowed to proceed. Generallythe process of engine mapping consists of the following steps:

Firstly, the engine dynamometer is set to limit the speed to that whichthe user wishes to optimise. In the engine mapping dialog box, an enginespeed/load combination is selected by driving the engine to theappropriate cell in the speed/load grid 20. If automatic cell trackingis enabled, the selected cell for mapping 24 (outlined cell) follows thecurrent cell 22 where the engine is running (red cell). If automaticcell tracking is disabled, the user must manually select a cell formapping by clicking twice on the desired cell. The engine may be drivento the appropriate cell for mapping by manipulating the throttle of theengine and/or by manipulating the three scroll bars 50, 58, 66 whichcorrespond to offsets to MVP, SAA and IOT as well as the spin boxes 74which correspond to the individual IOT offsets for each injector. Engineload and speed are used to index and interpolate the 3-D table look-upvalues for MVP, SAA and IOT. In addition to using the spin boxes tochange the individual IOT offset one at a time, the balance button 72can be used to automatically adjust the individual IOT offsetssimultaneously in order to balance them. Automatic cylinder balancingwill be described in greater detail below.

When the engine is close to the appropriate cell for mapping in the grid20, the user can press the lock button 30 if desired. This means thatMVP, SAA and IOT base values are locked but can be manipulatedindependently, via the scroll bars 50, 58, 66 in the engine mappingdialog box, and the current grid cell 22 will remain the same. In thelocked mode the user attempts to match the actual speed and load to thelocked speed and load as displayed in the locked speed and load editboxes 44, 46. Manipulation of the MVP, SAA and IOT base values can alsobe performed in the unlocked mode in order to optimise the values at theselected speed/load combination. In either case, when the optimum valuesare obtained, the user can press the set button 34 and the resultvalues, as displayed in edit boxes 54, 62 and 70, will be saved to theappropriate cell in the respective 3-D tables. The user then repeats theabove steps until the selected engine operating parameters have beenoptimised for all engine speed/load combinations.

Optimisation of engine operating parameters requires the user to monitornumerous other engine performance parameters such as exhaust emissions,torque (power), temperatures, fuel flow characteristics, etc. A separateapplication has been developed called TIDAS (Transcom International DataAcquisition System) for converting the raw data from various analoguesensors into a digital format for display and analysis of the engineperformance parameters. CommExecPro has a facility which allows the userto analyse a data file output by the TIDAS application via theproduction of “parameter maps”, and also provides for the generation andapplication of recommendations for adjustments to various ECS tables.

CommExecPro also provides a facility for automatically balancing orevening-out cylinder exhaust temperatures. This is achieved by loggingthe exhaust temperatures for each cylinder using data obtained fromTIDAS. The exhaust temperature values are then averaged across allcylinders to obtain an average exhaust temperature value. Deviations ofthe exhaust temperature value for each cylinder from the average exhausttemperature value are then calculated and used to adjust the individualIOT offsets for each injector simultaneously. The algorithm employed byCommExecPro to calculate the adjusted individual IOT offset for eachcylinder is as follows:

IOTOffAdj _(n)=−(IOT _(n) ×IOTOffFactor/100)×exht _(—) dev _(n))  (1)

IOTOffAdj _(n)=min(max(IOTOffAdj _(n) −IOTOffAdjmax), IOTOffAdjmax)  (2)

where the following definitions apply:

exht_(n) is the exhaust temperature of cylinder n in ° C.,

exht_(ave) is the average of all the cylinder exhaust temperatures in °C.,

exht_dev_(n) is the deviation from exht_(ave) of the exhaust temperatureof cylinder n in ° C.,

BIOT is the current Base Injector On Time being used by the ECU in μs,

IOTOff_(n) is the current Individual Injector On Time Offset forcylinder n being used by the ECU in μs,

IOTOffFactor is a scaling factor which allows control over how ‘severe’the adjustments to each IOTOff_(n) will be. This is measured in % ofIOT/° C.

IOT_(n) is an intermediate Injector On Time value which can take twodifferent forms as shown below in equation (4).

IOTOffAdjMax is the maximum time by which IOTOff_(n) may be adjusted atone time in μs.

IOTOffAdj_(n) is the adjusted Individual Injector On Time Offset forcylinder n to be used by the ECU after the cylinder balancing algorithmhas been calculated in μs,

For n=1 to no. of engine cylinders,

exht _(—) dev _(n) =exht _(n) −exht _(ave)

If user chooses not to use current IOT Offsets in balancing calculation,

IOT _(n) =BIOT  (3)

If user chooses to use current IOT offsets in balancing calculation,

IOT _(n) =BIOT+IOTOff _(n)  (4)

The provision of individual injector offsets means that variancesbetween cylinders due to dynamic air flow and residence effects in themanifold as well as variances in the individual injectors can becompensated for. Each injector can be given either a positive ornegative offset value to balance the cylinders of the engine. Thisfeature allows the engine to operate as lean as possible to reduceNO_(x) emissions without incurring misfire limitations that wouldotherwise occur.

To obtain feedback from an engine, the user can employ CommExecPro toinitiate an engine logging session. During an engine logging session,the user still has access to some other features of CommExecPro. Whenthe user initiates an engine logging session, the values of selectedparameters are displayed in a logging window. FIG. 5 illustrates atypical logging window. The logged values are updated at regularintervals and updated values are displayed on a new line each time sothat previous values remain visible to the user. This enables the userto determine trends in the variation of logged parameters during alogging session.

Before initiating an engine logging session, the user can select whichengine parameters are to be logged. This is called the log specificationand can currently contain up to eighty different engine parameters.However, only twenty-five of these parameters may be visible at any onetime. If a parameter is not visible, it is not displayed in the loggingwindow and is not saved to the logging file. However, it is storedinternally for other uses. The heading for each parameter is displayedat the top of the logging window and includes the appropriate units.These headings cannot be scrolled. However, the actual logged parametervalues and all other logging window contents can be scrolled, bothvertically and horizontally.

Logging parameters may be logged from the ECU and/or from TIDAS. TIDASparameters are retrieved using the dynamic data exchange (DDE) protocol.CommExecPro can act as a DDE server and client. Any DDE clientapplication may request or ask CommExecPro to advise it of any change tothe values or units for each individual logging parameter. As a DDEclient, CommExecPro can extract the value of any logged parameter fromthe TIDAS application via a “hot link”. Once this link is establishedTIDAS will communicate any changes to the parameters value to theCommExecPro. The user may log any of these parameters in the loggingwindow just like any other logging parameter from the ECU, since thesource of the parameter is transparent.

Now that a preferred embodiment of the method of commissioning an enginehas been described in detail, it will be event to person's skilled inthe relevant arts that numerous variations and modifications may bemade, in addition to those already described, without departing from thebasic inventive concepts. All such variations and modifications are tobe considered within the scope of the present invention, the nature ofwhich is to be determined from the foregoing description and theappended claims.

What is claimed is:
 1. A method of commissioning an internal combustionengine controlled by an electronic engine control unit, the methodcomprising: mapping a selected engine operating parameter over a rangeof engine speeds and loads so as to obtain optimum values for saidselected engine operating parameter for different speeds/loadcombinations, said mapping process involving the steps of: (a) defininga speed/load mapping table and generating a graphical display of acorresponding speed/load grid comprising a plurality of cells arrangedin a grid, each cell corresponding to a particular speed/loadcombination in the speed/load mapping table, each unmapped cell in thegrid being displayed in a first visually distinct manner and each mappedcell being displayed in a second visually distinct manner; (b) selectingan unmapped cell in said speed/load grid for mapping and displaying saidselected unmapped cell in a fourth visually distinct manner; (c) drivingthe engine as close as possible to the selected speed/load combination;(d) displaying the current value of said selected engine operatingparameter; (e) adjusting the value of said selected engine operatingparameter to thereby obtain an optimum value for said engine operatingparameter at said selected speed/load combination; (f) saving theoptimum value at said selected speed/load combination in the speed/loadmapping table; and, (g) repeating steps (b) to (f) until the selectedengine operating parameter has been mapped for all desired cells in thespeed/load grid.
 2. A method of commissioning an internal combustionengine as defined in claim 1, wherein one cell in the speed/load grid isdisplayed in a third visually distinct manner to indicate the engine'scurrent operating position.
 3. A method of commissioning an internalcombustion engine as defined in claim 1, wherein said selected engineoperating parameter is one of a plurality of selected engine operatingparameters which may be mapped simultaneously using the speed/load grid.4. A method of commissioning an internal combustion engine as defined inclaim 3, wherein said plurality of selected engine operating parametersare manifold valve position (MVP), injector on time (IOT) and sparkadvance angle (SAA).
 5. A method of commissioning an internal combustionengine as defined in claim 4, wherein Step (c) in the method may beperformed by controlling the engine throttle and/or by manipulating thevalues for MVP, IOT and/or SAA, and/or setting the dynamometer speed. 6.A method of commissioning an internal combustion engine as defined inclaim 1, wherein the graphical display of said speed/load grid isdisplayed as part of an engine mapping dialog box, said engine mappingdialog box including a read-only display of the current value of saidselected engine operating parameter.
 7. A method of commissioning aninternal combustion engine as defined in claim 6, wherein said enginemapping dialog box further includes a scroll bar for changing an offsetvalue of said selected engine operating parameter and a read-onlydisplay of the resulting value of said engine operating parameter whichis the sum of the current value and the offset value, wherein step (e),adjusting the value of said selected operating parameter, involvesscrolling to an appropriate offset value using said scroll bar to obtainthe optimum resulting value for said selected engine operatingparameter.
 8. A method of commissioning an internal combustion engine asdefined in claim 7, wherein said engine mapping dialog box also includesa plurality of IOT offset spin boxes, one for each of the engine'sinjectors, and wherein the method of commissioning further comprisesapplying an individual IOT offset to a base IOT offset for any one ormore of the injectors.
 9. A method of commissioning an internalcombustion engine as defined in claim 8, the method further comprising astep of automatic balancing of exhaust temperatures for each cylinder ofthe engine, wherein said step of automatically balancing involves:logging exhaust temperatures for each cylinder of the engine; averagingthe exhaust temperature values across all cylinders to obtain an averageexhaust temperature value; calculating a deviation of the exhausttemperature value for each cylinder from said average exhausttemperature value; and, adjusting the individual IOT offsets for eachinjector simultaneously based on said respective deviations whereby, inuse, the exhaust temperatures for each cylinder can be brought closer tothe average exhaust temperature value.
 10. A method of commissioning aninternal combustion engine as defined in claim 10, wherein an adjustedindividual IOT offset for each cylinder is calculated using thefollowing algorithm: IOTOffAdj _(n)=−(IOT _(n) ×IOTOffFactor/100)×iexht_(—) dev _(n)) IOTOffAdj _(n)=min(max(IOTOffAdj _(n′)−IOTOffAdjmax), IOTOffAdjmax) where the following definitions apply:exht_(n) is the exhaust temperature of cylinder n in ° C., exht_(ave) isthe average of all the cylinder exhaust temperatures in ° C.,exht_dev_(n) is the deviation from exht_(ave) of the exhaust temperatureof cylinder n in ° C., IOTOff_(n) is the current Individual Injector OnTime Offset for cylinder n being used by the ECU in μs, IOTOffFactor isa scaling factor which allows control over how ‘severe’ the adjustmentsto each IOTOff_(n) will be; this is measured in % of IOT/° C., IOT_(n)is an intermediate Injector On Time value, IOTOffAdjMax is the maximumtime by which IOTOff_(n) may be adjusted at one time in μs,IOTOffAdj_(n) is the adjusted Individual Injector On Time Offset forcylinder n to be used by the ECU after the cylinder balancing algorithmhas been calculated in μs, For n=1 to no. of engine cylinders, exht _(—)dev _(n) =exht _(n) =exht _(ave).